查看原文
其他

测绘通报 | 马京振, 陈换新, 朱新铭, 等:利用Faster R-CNN进行立交桥自动识别与定位

测绘通报 测绘学报 2021-05-20

本文内容来源于《测绘通报》2021年第3期,审图号:GS(2021)781号

利用Faster R-CNN进行立交桥自动识别与定位


马京振1, 陈换新2, 朱新铭1, 张付兵1 

1. 信息工程大学, 河南 郑州 450001;
2. 96911部队, 北京 100011

基金项目:国家自然科学基金(41571399;41771487;41901397)

摘要:立交桥结构的自动识别对道路网多尺度建模、空间分析和车辆导航具有重要意义。传统基于矢量数据的立交桥识别方法过分依赖人工设计的特征,对复杂场景的适应性较差。本文提出了一种基于目标检测Faster R-CNN神经网络模型的立交桥识别方法,该方法利用卷积神经网络学习立交桥样本的深层次结构特征,进而实现立交桥的自动识别与准确定位。试验结果表明,该方法对立交桥的识别效果较好,能够在复杂的道路网中准确确定立交桥的位置,避免了人为干预对试验结果不确定性的影响,抗干扰性较强。

关键词:立交桥    目标检测    Faster R-CNN    深度神经网络    模式识别     

引文格式:马京振, 陈换新, 朱新铭, 等. 利用Faster R-CNN进行立交桥自动识别与定位[J]. 测绘通报,2021(3):28-32, 86. DOI: 10.13474/j.cnki.11-2246.2021.0073.
阅读全文:http://tb.sinomaps.com/article/2021/0494-0911/20210306.htm
全文概述

    

立交桥作为道路的常见形态之一,是重要的连接枢纽,其空间结构识别对于道路网多尺度建模、空间分析及车辆导航具有重要的意义[1-2]。然而在现实世界中,立交桥形态多样、结构复杂,具有喇叭形、环形、苜蓿形等多种类别,因此在复杂的道路网中如何对立交桥进行自动识别一直是研究的难点。

当前,立交桥的识别方法主要有:对立交桥构建拓扑关系,采用道路分类的方法对立交桥进行量化表达并识别其整体结构[2];通过搜索道路网中节点密度较大的区域确定立交桥的位置,并采用图化简的方法对立交桥结构进行简化[3];根据方向属性关系图描述道路交叉口结构,建立典型结构的模板库,利用图匹配技术识别相应的交叉口[4];采用长度、紧凑度、平行度等6个指标对道路特征进行量化表达,采用支持向量机的方法实现交叉口的识别[5]。以上方法主要是利用立交桥的矢量空间特征进行识别,因此过分依赖于选取的特征项,仅适用于典型的立交桥识别。

近年来,深度学习已经在机器视觉领域取得了重大进展,文献[6]首次将CNN卷积神经网络引入立交桥结构的识别中,将矢量立交桥数据转化为栅格数据,利用神经网络学习立交桥的深层次模糊特性,进而实现立交桥的自动识别。该方法不涉及复杂的人工特征设计,通过自学习机制降低了结果的不确定性。但该方法只能用于立交桥类型的分类,而不能用于在大范围的道路网中准确确定立交桥的位置。鉴于此,本文引入深度学习领域的目标检测神经网络模型Faster R-CNN,通过采集立交桥的栅格图像样本数据,利用神经网络进行自主学习,进而实现立交桥的自动识别与定位。

Faster R-CNN基本原理

1.1 Faster R-CNN整体结构

卷积神经网络因其参数共享、局部连接和自主学习等优点,具有强大的非线性表达能力,在计算机视觉、自然语言处理等领域得以广泛应用[7-8]。Faster R-CNN是2015年被提出的基于区域推荐和卷积神经网络,可以进行端到端学习的目标检测框架,算法精度和效率较高,已逐渐应用于图像识别与检测领域[9-10]。

Faster R-CNN模型的基本结构如图 1所示,主要由特征提取网络、区域生成网络(region proposal network,RPN)和感兴趣区域ROI池化层构成。实现流程如下:首先将图像输入卷积神经网络中得到特征图,然后利用区域生成网络RPN生成预测候选框,最后在感兴趣区域ROI池化层中得到候选区域的固定特征图,并对候选区域进行分类识别与定位。相较于Fast R-CNN,Faster R-CNN用RPN代替了选择性搜索方法,可以得到高质量的候选区域框。

图 1 Faster R-CNN模型基本结构

图选项 

1.2 区域生成网络RPN

RPN是一个全卷积神经网络,包含1个卷积层和2个全连接层,采用滑动窗口的方式生成候选区域框,其结构如图 2所示。RPN首先将经过卷积层得到的特征图作为输入,采用滑动窗口进行扫描,然后经过中间层将特征图上大小为n×n(n=3)的窗口映射到一个低维特征向量(如VGG16为512维),通过全连接层-分类层与回归层,判断滑动窗口区域内特征图像的分类,并得到该区域的具体坐标。当滑动窗口在卷积特征图上滑动时,每次滑动得到k个锚框,并输出2k个得分及4k个坐标值。

图 2 RPN网络结构

图选项 

为了训练RPN,为每一个候选区域框分配一个二进制的标签(目标/非目标),通常采用交并比(IoU)的方法进行判定。如果候选区域框与样本标记框的IoU值大于某一阈值,则判定其为目标(正样本),否则判定其为非目标(负样本)[11-12]。

在RPN中,其损失函数定义如下

(1)

式中,i表示第i个锚点;pi表示锚点为目标的概率;pi*为对应真实目标框的标签值(正样本为1,负样本为0);ti为候选区域框的4个参数化坐标向量;ti*为对应真实目标框的坐标向量;Ncls和Nreg表示规范化参数。对于分类损失Lcls和回归损失Lreg

(2)

(3)

式(2)中,log()表示对数损失函数;R表示稳健损失函数。

(4)

对于边框回归,锚框的坐标参数化描述如下

(5)

式中,x、y、w、h分别为候选区域框的中心坐标及宽度和高度;xa、x*分别为锚框、真实区域边框的x坐标(y、w、h同样适用)。

1.3 感兴趣区域ROI池化层

ROI池化层的具体流程为:①根据原始图像和RPN得到的候选区域,将ROI映射到特征图的具体位置;②将映射后的区域划分为大小相同的模块;③对每个模块进行最大池化操作。通过上述步骤,ROI池化层首先能够将不同的感兴趣区域映射为固定大小的特征图,然后通过卷积层转化为一个高维度的特征向量,最后将该向量分别输入两个全连接层,即分类层和回归层,分别得到目标检测的概率值和定位框。ROI池化层能加快模型的训练和测试速度,并提高检测准确率[13]。

2 利用Faster R-CNN识别立交桥的策略  

2.1 基于Faster R-CNN的立交桥识别流程

在现实世界中,立交桥的结构非常复杂,如图 3所示,在大比例尺数据中,立交桥的形态多样,不仅包括多条主干路段和辅助路段,还受其他多种道路的影响,因此用传统的基于矢量数据的识别方法很难提取出描述特征,识别效果不理想。深度学习具有强大的学习能力和高效的特征表达能力,用神经网络自主学习的方法代替人工设计,通过大量样本的学习能够得到深层的、特定的特征表示,提取的抽象特征稳健性更强,泛化能力更好,因此将其用于立交桥的自动识别是可行的[14-15]。

图 3 复杂的立交桥结构

图选项 

Faster R-CNN已被广泛应用于目标检测领域,该模型通过大量样本的训练,能够学习不同类别目标的深层次特征,从而完成目标的识别分类,并进行准确定位,因此本文将Faster R-CNN模型应用于立交桥的自动识别。具体流程如图 4所示,首先对道路数据进行预处理,主要包括数据清理、矢栅转换等;然后采集并标记立交桥样本,利用Faster R-CNN深度神经网络模型进行训练,得到分类模型;最后利用训练好的模型自动识别道路网中的立交桥,并利用矩形框进行定位标记。

图 4 立交桥识别流程

图选项 

2.2 立交桥样本数据处理

由于目前缺乏公开的立交桥样本数据库,本文利用ArcGIS软件从道路数据中人工采集样本,同时用谷歌影像进行验证,得到满足试验要求的样本库。Faster R-CNN是针对栅格数据进行训练的,在矢栅转换过程中,为了保持采集的立交桥样本在视觉上的清晰性,道路符号的宽度采用2像素。同时,在样本采集的过程中,采集的样本要符合人类的空间认知,在视觉上具有良好的可分辨性,部分立交桥样本如图 5所示。

图 5 部分立交桥样本

图选项 

对深度神经网络而言,样本数据量越大,经过训练得到的模型越精确。样本规模的扩大,除了增大采集量外,还可以利用样本的自身特征进行数据增强。由于立交桥具有方向不变性,本文借鉴文献[6]的方法,通过旋转和镜像的方法对样本进行扩充,将样本数据量增加了7倍,提升了样本的覆盖度。


3 试验与分析 

3.1 试验环境及数据

试验的硬件环境为Windows 10操作系统,i7-8750处理器,16 GB内存,GTX1060显卡,基于Python3.6语言、tensorflow框架进行模型的训练和验证。试验采用开源共享的OSM(OpenStreetMap)数据,该数据具有细节丰富、更新快等优点,适合立交桥的采集识别。试验选取北京、上海、广州、深圳和武汉5个城市的OSM道路数据进行立交桥样本的采集,保证了样本数据的代表性和多样性。

3.2 模型训练

为了对Faster R-CNN模型进行训练,经过样本增强,共得到1896个立交桥样本。利用LabelImg软件对样本数据进行标注,得到满足Pasval VOC格式的数据集,主要包括JPG图片和XML标签文件。将样本数据按照3∶1的比例划分训练验证集和测试集,再按照相同比例将训练验证集划分为训练集和验证集。

在模型训练的过程中,根据样本数据的特点,对Faster R-CNN模型的参数进行了修改,包括:采用经典的VGG16网络提取图片的卷积特征,权重衰减系数为0.000 5,学习率为0.001,IoU阈值为0.7,训练次数为4万次,动量值为0.9,每批次训练样本值(batch_size)为24。模型在训练过程中得到的损失函数值如图 6所示,随着训练次数的增加,模型逐渐收敛,训练误差逐渐减小,拟合效果较好。

图 6 模型损失函数变化曲线

图选项 

3.3 试验结果分析

对Faster R-CNN模型进行训练之后,将模型参数导出,用郑州市待识别的立交桥数据进行试验,部分典型的立交桥识别效果如图 7所示。图中给出了被识别为立交桥(overpass)的概率值,并用矩形框进行了具体定位标记,可以看出这些典型立交桥都以较高的概率被准确识别,而且定位区域也比较准确,符合人类的视觉认知效果。另外,如图 8所示,2处复杂的非立交桥道路交叉口也被准确识别定位,表明Faster R-CNN模型对道路网中其他一些复杂的非立交桥也能很好地区分,泛化能力较强。

图 7 立交桥识别效果

图选项 

图 8 非立交桥识别效果

图选项 

为进一步对试验结果进行统计分析,采用准确率和召回率对结果进行评价。其中,准确率为模型正确识别的总数量与模型识别的总数量的比值;召回率为模型正确识别的数量与实际人工判别数量的比值。具体统计结果见表 1,Faster R-CNN模型对立交桥的识别召回率较高,对大部分典型的立交桥能准确识别,表明模型能够很好地学习样本,能从中提取典型立交桥的模糊特征,具有较强的抗干扰性,而且自动识别的速度也较快。

表 1 试验结果统计

表选项

但是该模型也存在一定的错误分类,将一些非立交桥误识别为立交桥,对模型的准确率造成了影响,如图 9中的矩形框处。结合遥感影像从图中可以看出,这些道路交叉口虽然具有复杂的匝道,但并不是立交桥。造成这种现象的主要原因是样本的数据集不足,以及没有采集一些非立交桥的复杂道路交叉口供模型训练学习。

图 9 错误识别

图选项 

4 结语

针对现有基于矢量数据识别立交桥的方法存在抗干扰性差、识别效果不好等缺点,本文引入了目标检测Faster R-CNN模型,将OSM矢量道路数据转为栅格数据,通过采集大量的样本数据,利用深度神经网络对立交桥的结构特征进行学习,从而实现了立交桥的自动识别与定位。试验结果表明,该方法能够在复杂的道路网中准确确定立交桥的位置,识别效果较好。与传统的矢量方法相比,该方法无需人为设计特征,避免了人为干预对试验结果不确定性的影响。在后续研究中,应该进一步丰富样本库的规模和类型,优化模型结构,提升该方法的实际应用能力。

作者简介
作者简介:马京振(1993—), 男, 博士生, 研究方向为数字地图制图技术。
E-mail: zb50mjz@163.com


初审:杨瑞芳复审:宋启凡
终审:金   君



Zhilin LI et al. |《测绘学报(英文版)》(JGGS)重要论文推荐


测绘通报 | 《测绘通报》2021年第3期目录


招聘 | 《测绘学报》欢迎您的加入!


自然资源部七家单位2021年度公开招聘毕业生资格审查结果


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存